package units

import (
	"regexp"
	"runtime"
	"strings"
)

// 检查URL是否只包含安全字符
func isSafeURL(url string) bool {
	// 允许的字符集：字母、数字、-_.~:/?#[]@!$&'()*+,;=
	pattern := `^[a-zA-Z0-9\-_.~:/?#$$$$@!$&'()*+,;=]+$`
	matched, _ := regexp.MatchString(pattern, url)
	return matched
}

// 判断字符串是否为字母和数字
func IsAlphanumeric(str string) bool {
	return regexp.MustCompile(`^[a-zA-Z0-9]+$`).MatchString(str)
}

// 清理输出（处理不同平台的换行符）
func cleanOutput(output []byte) string {
	// 移除Windows的\r换行符
	if runtime.GOOS != "windows" {
		return strings.ReplaceAll(string(output), "\r\n", "\n")
	}
	return string(output)
}
